import { IPSBIAggTable } from './ipsbiagg-table';
import { IPSSysBIAggColumn } from './ipssys-biagg-column';
import { IPSSysBICube } from './ipssys-bicube';
import { IPSSysBISchemeObject } from './ipssys-bischeme-object';

/**
 *
 * @export
 * @interface IPSSysBIAggTable
 */
export interface IPSSysBIAggTable extends IPSBIAggTable, IPSSysBISchemeObject {
  /**
   * 聚合数据列集合
   *
   * @type {IPSSysBIAggColumn[]}
   */
  getAllPSSysBIAggColumns(): IPSSysBIAggColumn[] | null;

  /**
   * 聚合数据列集合
   *
   * @type {IPSSysBIAggColumn[]}
   */
  get allPSSysBIAggColumns(): IPSSysBIAggColumn[] | null;

  findPSSysBIAggColumn(objKey: any): IPSSysBIAggColumn | null;

  /**
   * 智能报表立方体
   *
   * @type {IPSSysBICube}
   */
  getPSSysBICube(): IPSSysBICube | null;

  /**
   * 智能报表立方体
   *
   * @type {IPSSysBICube}
   */
  get psSysBICube(): IPSSysBICube | null;

  /**
   * 智能报表立方体（必须存在）
   *
   * @type {IPSSysBICube}
   */
  getPSSysBICubeMust(): IPSSysBICube;
}
